home *** CD-ROM | disk | FTP | other *** search
- import java.awt.image.ColorModel;
- import java.awt.image.DirectColorModel;
- import java.awt.image.RGBImageFilter;
-
- class RedBlueSwapFilter extends RGBImageFilter {
- public RedBlueSwapFilter() {
- super.canFilterIndexColorModel = true;
- }
-
- public void setColorModel(ColorModel model) {
- if (model instanceof DirectColorModel) {
- DirectColorModel dcm = (DirectColorModel)model;
- int rm = dcm.getRedMask();
- int gm = dcm.getGreenMask();
- int bm = dcm.getBlueMask();
- int am = dcm.getAlphaMask();
- int bits = ((ColorModel)dcm).getPixelSize();
- dcm = new DirectColorModel(bits, bm, gm, rm, am);
- ((RGBImageFilter)this).substituteColorModel(model, dcm);
- super.consumer.setColorModel(dcm);
- } else {
- super.setColorModel(model);
- }
- }
-
- public int filterRGB(int x, int y, int rgb) {
- return rgb & -16711936 | (rgb & 16711680) >> 16 | (rgb & 255) << 16;
- }
- }
-